package com.example.trb.util;

public class ExceptionUtil {
    public static RuntimeException launderThrowable(Throwable t) {
        if (t instanceof RuntimeException) {
            return (RuntimeException) t;
        } else if (t instanceof Error) {
            throw (Error) t; // 注意是直接抛出
        } else {
            // unchecked异常一般都是继承RuntimeException，不过可能也有人乱写
            // 所以需要处理一下特殊情况
            return new IllegalStateException("Not unchecked", t);
        }
    }
}
